package com.dianxin.smartpark.service.device;

import com.chinatelecom.response.common.CommonResponseBody;
import com.dianxin.device.api.device.dto.SmartDeviceDTO;
import com.dianxin.device.api.device.qo.SmartDeviceNoAclRpcQO;
import com.dianxin.device.api.device.qo.SmartDeviceRpcQO;

import java.util.List;

/**
 * @author wangkai
 */
public interface  SmartParkDeviceService {
    /**
     * 保存
     * @param vo
     * @return
     */
    CommonResponseBody<Boolean> saveDevice(SmartDeviceDTO vo);

    /**
     * 更新
     * @param vo
     * @return
     */
    CommonResponseBody<Boolean> updateDevice(SmartDeviceDTO vo) throws Exception;


    /**
     * 更新
     * @param vo
     * @return
     */
    CommonResponseBody<Boolean> deleteDevice(SmartDeviceDTO vo) throws Exception;


    /**
     * 分页查询
     * @param qo
     * @return
     */
    CommonResponseBody<List<SmartDeviceDTO>> getDevices(SmartDeviceRpcQO qo) throws Exception;


    /**
     * 设备重启
     * @param qo
     * @return
     */
    CommonResponseBody<Boolean> rebootDevice(SmartDeviceRpcQO qo) throws Exception;


    CommonResponseBody<SmartDeviceDTO> getDeviceNoAcl( SmartDeviceNoAclRpcQO qo) throws Exception;

}
